package cn.com.surker.sale.service;

import cn.com.surker.sale.entity.SaleContractSubsidyPrice;
import cn.com.surker.spring.RestResultDto;
import cn.com.surker.system.entity.SysUser;
import cn.com.surker.vo.sale.SaleContractSubsidyPriceVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
* <p>
    * 销售合同补贴费用表 服务类
    * </p>
*
* @author admin
* @since 2024-07-26
*/
public interface SaleContractSubsidyPriceBaseService extends IService<SaleContractSubsidyPrice> {


    /**
    * 根据条件查询所有的数据
    * @param dto
    * @return
    */
    RestResultDto findAll(SaleContractSubsidyPrice dto);


    /**
     * 分页查询
     *
     * @param status   状态
     * @param offset   分页参数,第几页
     * @param limit    分页参数,每页数量
     * @return 返回分页数据
     */
    IPage<SaleContractSubsidyPriceVO> queryPage(String searchVal, Integer orgId, Integer status,String startDate,String endDate,
                                                Long pumpNormId, String sales, Integer offset, Integer limit);


    /**
    * 新增数据
    * @param dto page
    * @return
    */
    RestResultDto saveInit(SaleContractSubsidyPrice dto);

    /**
    * 更新数据状态
    * @param dto page
    * @return
    */
    RestResultDto updateStausById(Long id, SysUser user);

    /**
     * 更新所有数据
     * @param dto
     * @return
     */
    RestResultDto update(SaleContractSubsidyPrice dto);

    /**
     * 根据公司标识和合同标识查询浇筑部位
     * @param orgId 公司ID
     * @param conId 合同ID
     * @return
     */
    List<Map<String, Object>> queryByOrgIdAndConId(Long orgId,Long conId,String startDate,String endDate);

    /**
     * 更新是否结算
     * @param id 标识
     * @param isBill 结算状态
     * @param name  更改人姓名
     */
    int updateByBill(Long id,Integer isBill,String name);

}
